package com.ctshk.rpc.order.custom.req.tourist;

import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDate;

/**
 * Excel导入名单req
 */
@Data
@ApiModel(value="Excel导入名单req", description="Excel导入名单req")
public class CustomOrderTouristInfoExcelAddReq implements Serializable {

    @NotNull(message = "订单ID不能为空")
    @ApiModelProperty(value = "订单ID",required = true)
    private Long orderId;

    @ApiModelProperty(value = "用户Id")
    private Long userId;

    @ExcelProperty("*游客类型主数据ID")
    @ApiModelProperty(value = "游客类型主数据ID")
    private Long mainDataId;

    @ExcelProperty("*旅客類型")
    @ApiModelProperty(value = "游客类型主数据名称")
    private String touristTypeName;

    @ApiModelProperty(value = "人数")
    private Integer people;

    @ApiModelProperty(value = "团期ID")
    private Long scheduleId;

    @ExcelProperty("*中文名")
    @ApiModelProperty(value = "中文姓")
    private String cnSurname;

    @ExcelProperty("*中文姓")
    @ApiModelProperty(value = "中文姓名")
    private String cnName;

    @ExcelProperty("*英文姓")
    @ApiModelProperty(value = "英文姓")
    private String enSurname;

    @ExcelProperty("*英文名")
    @ApiModelProperty(value = "英文名称")
    private String enName;

    @ApiModelProperty(value = "性别")
    private Integer gender;

    @ExcelProperty("*稱謂")
    @ApiModelProperty(value = "性别名称")
    private String genderName;

    @ExcelProperty("國籍")
    @ApiModelProperty(value = "国籍")
    private String nation;

    @ApiModelProperty(value = "国籍Id")
    private Long nationId;

    @ExcelProperty("*手機區號")
    @ApiModelProperty(value = "电话区号")
    private String mobileAreaCode;

    @ExcelProperty("*電話號碼")
    @ApiModelProperty(value = "联系方式")
    private String mobile;

    @ExcelProperty("Email")
    @ApiModelProperty(value = "邮箱")
    private String email;

    @ExcelProperty("備註")
    @ApiModelProperty(value = "备注")
    private String remark;

    @ExcelProperty("證件類型1")
    @ApiModelProperty(value = "证件类型1")
    private String certificateType1;

    @ExcelProperty("證件號碼1")
    @ApiModelProperty(value = "证件号1")
    private String certificateNumber1;

    @ApiModelProperty(value = "证件有效期1")
    private LocalDate certificateValidDate1;

    @ExcelProperty(value = "證件有效期1")
    @ApiModelProperty(value = "证件有效期1")
    private String certificateValidDate1String;

    @ExcelProperty("證件簽發地1")
    @ApiModelProperty(value = "证件签发地1")
    private String certificatePlace1;

    @ApiModelProperty(value = "证件签发地Id1")
    private Long certificatePlaceId1;

    @ExcelProperty("證件類型2")
    @ApiModelProperty(value = "证件类型2")
    private String certificateType2;

    @ExcelProperty("證件號碼2")
    @ApiModelProperty(value = "证件号2")
    private String certificateNumber2;

    @ApiModelProperty(value = "证件有效期2")
    private LocalDate certificateValidDate2;

    @ExcelProperty(value = "證件有效期2")
    @ApiModelProperty(value = "证件有效期2")
    private String certificateValidDate2String;

    @ExcelProperty("證件簽發地2")
    @ApiModelProperty(value = "证件签发地2")
    private String certificatePlace2;

    @ApiModelProperty(value = "证件签发地Id2")
    private Long certificatePlaceId2;

    @ExcelProperty("證件類型3")
    @ApiModelProperty(value = "证件类型3")
    private String certificateType3;

    @ExcelProperty("證件號碼3")
    @ApiModelProperty(value = "证件号3")
    private String certificateNumber3;

    @ApiModelProperty(value = "证件有效期3")
    private LocalDate certificateValidDate3;

    @ExcelProperty("證件有效期3")
    @ApiModelProperty(value = "证件有效期3")
    private String certificateValidDate3String;

    @ExcelProperty("證件簽發地3")
    @ApiModelProperty(value = "证件签发地3")
    private String certificatePlace3;

    @ApiModelProperty(value = "证件签发地Id3")
    private Long certificatePlaceId3;

    @ExcelProperty("緊急聯絡人姓名")
    @ApiModelProperty(value = "紧急联系人姓名")
    private String emergencyContactName;

    @ExcelProperty("緊急聯絡手機區號")
    @ApiModelProperty(value = "紧急联系人电话区号")
    private String emergencyMobileAreaCode;

    @ExcelProperty("僅僅聯絡電話號碼")
    @ApiModelProperty(value = "紧急联系人电话")
    private String emergencyMobile;

    @ApiModelProperty(value = "出生日期")
    private LocalDate birthday;

    @ExcelProperty("*出生日期")
    @ApiModelProperty(value = "出生日期")
    private String birthdayString;

}
